package apollo.generator.modules.service;

import apollo.generator.common.utils.PageUtils;
import apollo.generator.modules.entity.TableEntity;

import java.util.ArrayList;
import java.util.Map;

/**
 * <Description>
 * 接口
 * @author Jun Lee
 * @version 1.0
 * @createDate 2020/07/02 15:58
 * @see apollo.generator.modules.service
 */
public interface GenerateService {
    /**
     * 获取数据库列表
     * @return
     */
    PageUtils selectDataBasePage(Map<String, Object> params) throws Exception;

    /**
     * 查询数据库表
     * @param params
     * @return
     */
    PageUtils selectTablePage(Map<String, Object> params) throws Exception;

    /**
     * 查询数据库表不分页
     * @param params
     * @return
     * @throws Exception
     */
    ArrayList<TableEntity> selectTable(Map<String, Object> params) throws Exception;

    /**
     * 代码生成
     * @param params
     * @return
     */
    byte[] generateCode(Map<String, Object> params) throws Exception;
}
